Solid-state drives (SSDs) have been developed as data storage apparatuses, each using NAND flash memories (hereinafter referred to as “flash memories” in some cases) that are rewritable nonvolatile memories. Data storage apparatuses for use in servers or enterprises, in particular, are implemented by SSDs of large storage capacity.
The SSD writes data to and reads data from the flash memories, in units of logical accesses called as “clusters.” That is, a cluster is an amount of data that can be accessed to a flash memory at a time. In most SSDs, one cluster is composed of a plurality of sectors, each being a physical access unit. For example, it is composed of eight sectors. One type of an SSD is known, to and from which data can be written and read in units of sectors.
In the conventional SSD, only a part of any cluster (for example, three sectors) may be modified in a write operation. This mode of writing data is occasionally called “read modify write (RMW).”
In the RMW mode, cluster data (i.e., one data cluster) at an address to which data should be written is read from a flash memory, and then saved in a buffer memory. Of the data thus saved, the data to be modified (e.g., three sectors) is modified, generating new cluster data. The new cluster data is written at a write address of the flash memory.
In the RMW mode, the save data must be read from the flash memory and then transferred to the buffer memory. Therefore, in order to improve the performance of the data storage apparatus (i.e., SSD), the save data must be fast transferred, and the buffer memory must be quickly accessed. In other words, the save data should be processed at high efficiency in the RMW mode.